package br.ucb.rest.persistencia.vo;

import java.io.Serializable;

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="rst_conta_pedido")
public class ContaPedidoVO implements Serializable {
	private static final long serialVersionUID = -2056658221972537324L;

	@EmbeddedId
	@AttributeOverrides({
		@AttributeOverride(column=@Column(name="nu_conta"), name="nuConta"),
		@AttributeOverride(column=@Column(name="nu_pedido"), name="nuPedido"),
		@AttributeOverride(column=@Column(name="dt_pedido"), name="dtPedido")
	})
	private ContaPedidoVOPK contaPedidoVOPK;
	
	@JoinColumn(name="nu_conta", referencedColumnName="nu_conta", insertable=false, updatable=false)
	@ManyToOne(fetch=FetchType.LAZY)
	private ContaVO contaVO;
	@JoinColumn(name="nu_pedido", referencedColumnName="nu_pedido", insertable=false, updatable=false)
	@ManyToOne(fetch=FetchType.EAGER)
	private PedidoVO pedidoVO;
	
	public ContaPedidoVOPK getContaPedidoVOPK() {
		return contaPedidoVOPK;
	}
	public void setContaPedidoVOPK(ContaPedidoVOPK contaPedidoVOPK) {
		this.contaPedidoVOPK = contaPedidoVOPK;
	}
	public ContaVO getContaVO() {
		return contaVO;
	}
	public void setContaVO(ContaVO contaVO) {
		this.contaVO = contaVO;
	}
	public PedidoVO getPedidoVO() {
		return pedidoVO;
	}
	public void setPedidoVO(PedidoVO pedidoVO) {
		this.pedidoVO = pedidoVO;
	}
	
	

}
